function aa(data, col, collndex, rowlndex, tableData, printData) {
    // 只处理第一列 (Item 列)
    if (collndex == 0) {
        // 获取当前行的 ContractNo 值
        const currentItem = tableData[rowlndex]['ContractNo'];
        // 获取上一行的 ContractNo 值
        const previousItem = rowlndex > 0 ? tableData[rowlndex - 1]['ContractNo'] : null;

        // 如果当前行和上一行的 Item 值相同，则合并
        if (currentItem === previousItem) {
            return [0, 1]; // 被合并的行设置为 0
        } else {
            // 计算有多少行需要合并
            let rowspan = 1;
            for (let i = rowlndex + 1; i < tableData.length; i++) {
                if (tableData[i]['ContractNo'] === currentItem) {
                    rowspan++;
                } else {
                    break;
                }
            }
            return [rowspan, 1]; // 返回合并的行数
        }
    } else if (collndex == 2) {
        const currentItem = tableData[rowlndex]['LocationID'];
        const previousItem = rowlndex > 0 ? tableData[rowlndex - 1]['LocationID'] : null;
        if (currentItem === previousItem) {
            return [0, 1];
        } else {
            let rowspan = 1;
            for (let i = rowlndex + 1; i < tableData.length; i++) {
                if (tableData[i]['LocationID'] === currentItem) {
                    rowspan++;
                } else {
                    break;
                }
            }
            return [rowspan, 1];
        }
    }
    return [1, 1];
}